package com.spring.demo;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

import com.spring.demo.config.MvcConfig;
import com.spring.demo.config.RootConfig;

/**
 *
 * @author nickel
 * @date 2019-01-24 15:34:30
 */
public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

	/**
	 * spring的业务容器，service和dao的bean有该容器管理，该spring容器与web无关，所以不需要实现任何接口
	 */
	@Override
	protected Class<?>[] getRootConfigClasses() {
		return new Class[] { RootConfig.class };
		// return null;
	}

	/**
	 * spring的mvc容器，与视图相关的bean在该容器下管理，以及一些与服务器相关的，类需要实现WebMvcConfigurer接口
	 */
	@Override
	protected Class<?>[] getServletConfigClasses() {
		return new Class[] { MvcConfig.class };
	}

	/**
	 * 使用spring的DispatcherServlet拦截所有的请求
	 */
	@Override
	protected String[] getServletMappings() {
		return new String[] { "/" };
	}

}
